Near Field Communication (NFC) is a wireless communication technology that permits data to be exchanged between two devices that are up to ten centimeters apart. In the near future, NFC-enabled mobile devices are expected to become ubiquitous. These NFC-enabled devices can act both as a contactless card and reader, providing the capability to perform payment, loyalty, ticketing, and access control applications, to name a few. In general, there will be no need for an owner of a NFC-enabled mobile device to carry a credit card, bus ticket, or access card. The owner's mobile device will function as an “e-wallet” containing virtual implementations of these cards and tickets, as well as others.
The main application processor of a mobile device, commonly referred to as the host application processor, can be used to execute a wide variety of different NFC applications. These NFC applications and associated data can be stored in the host non-volatile memory of the mobile device and fetched when execution is requested or desired. During execution of a NFC application, the host application processor can use a NFC controller in the mobile device to exchange data and commands with a remote NFC-enabled device that is within close proximity. The exchange of data can be performed to carry out a function of the NFC application.
Because NFC-based applications can be executed in the host application processor and stored in the host non-volatile memory of the mobile device, these NFC applications are vulnerable to attack. The host non-volatile memory of the mobile device is generally unsecure and is not protected against unintentional deletion or intentional manipulation of the data stored therein. For security-insensitive applications (e.g., applications for reading and displaying smart label data on a poster), the lack of security is not an issue. However, for applications such as payment, ticketing, and loyalty applications, any unintended deletion, reading, or change of the code or data associated with these applications can have undesirable consequences, including theft of monetary funds and fraud.
The conventional solution to this problem has been the further inclusion of a Secure Element (SE) in the NFC-enabled mobile device. A SE is a tamper resistant device with an embedded microprocessor. There are three common architectures for implementing a SE: the first architecture implements the SE as an independent, embedded hardware module built into the mobile device; the second architecture implements the SE in a Subscriber Identity Module (SIM); and the third architecture implements the SE in a removable User Identity Module (UIM) or Universal Integrated Circuit Card (UICC). A SE implemented in accordance with the first architecture is often referred to as an embedded SE (eSE).
Conventional NFC-enabled mobile devices that include an eSE store and execute security-sensitive NFC applications and associated data in the eSE. More specifically, the security-sensitive NFC applications are stored in non-volatile memory in the eSE to provide protection. The integrated, non-volatile memory of the eSE, which can be, for example, flash or EEPROM, typically does not scale with process, however. Thus, eSEs with integrated non-volatile memory are often implemented in older, less ideal processes. For example, a state of the art eSE with integrated non-volatile memory may be manufactured using a 90 nm process as opposed to being manufactured with an available 40 nm process because of the scalability issues associated with integrated, non-volatile memory.
In addition to the above noted issue, as NFC-enabled mobile devices become more ubiquitous, the number of NFC applications available and desired to be securely stored and executed in a mobile device is expected to grow. As a result, the integrated non-volatile memory in the eSE has to be large enough to accommodate a potentially large number of NFC applications.
Therefore, what is needed is a security architecture that supports an eSE capable of scaling with process, while still providing for the secure execution and storage of a large number of NFC applications.
The present invention will be described with reference to the accompanying drawings. The drawing in which an element first appears is typically indicated by the leftmost digit(s) in the corresponding reference number.